import eslint from '@eslint/js';
import vue from 'eslint-plugin-vue';
import vuePrettier from '@vue/eslint-config-prettier';

export default [
  // 1. 基础 ESLint 推荐规则
  eslint.configs.recommended,
  // 2. Vue3 核心规则（flat 格式）
  ...vue.configs['flat/essential'],
  
  // 3. Vue 文件的解析配置
  {
    files: ['**/*.vue'],
    languageOptions: {
      globals: {
        ...globals.browser,
        // 如果有 Node 脚本也要 lint，可再加：
        // ...globals.node,
      },
      parserOptions: {
        ecmaVersion: 'latest',
        sourceType: 'module',
      },
    },
  },

  // 4. 整合 Prettier（关键修正：直接使用对象，不展开）
  vuePrettier,

  // 5. 自定义规则
  {
    rules: {
      'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
      'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
      'vue/multi-word-component-names': 'off',
    },
  },

  // 6. 忽略文件配置
  {
    ignores: ['node_modules/', 'dist/', '*.svg', '*.sh', 'public/', '.DS_Store'],
  },
];
